This page last changed on Jan 29, 2009 by cmd0219.

Sprint 1 Goal

Focus on update functionality with basic usage of AJAX, learning about different types of updates and row identification.

Front Burner Stories

As an Updater, I want to be able to refresh the result set.

Priority
Description Size (Point) Estimate
Time Estimate
Time Remaining
Actual Time
Last Updated By
Status
1 AJAX research / spike
4 1.5 0 4 Chris
Complete
2 Design Analysis 4 1.75
0
2
Paul
Complete

3 DBManager Refactoring / Implementation 2 2
0
2.46
Paul
Complete
  DBManager Unit Testing
2 1
.5
.75
 
In Progress
  HTMLOutputGenerator Implementation
1 1 0 2.5 Paul
Complete
  HTMLOutputGenerator Unit Testing
1 1
1 .5 Chris
Complete
  Results Unit Testing
1     .5 Chris
Complete
  Servlet Implementation
2 2
0
1.1 Paul
Complete
  Servlet Unit Testing
1 1
1    
In Progress
  Client-side AJAX Implementation & Testing
4 6
0
2.33 Paul
Complete
4 Write acceptance tests 2 1
0
6.25
Eugene
Impediment
(Can not update server.xml)
     
       
Total   24
18.25 2.5
22.39
  Points completed: 19

Issues

  • Support for sql script resources? (If macro body doesn't contain SQL statement)  Parameter mapping?  Transaction isolation? Heading row?
  • Should there be an indication of what rows changed for this story?
  • Integration testing phase does not have hooks for putting configuration into the atlassian-test-harness, or if it does, google doesn't know it.

Notes

  • responsible use of AJAX, limit number of commits.

Update table with primary keys (no joins, one or more rows)

  • Acceptance criteria:
    • varchars, ints supported
    • "clean" input accepted
    • exceptions accepted if user input is bad
Priority
Description Time Estimate
Time Remaining
Actual Time
Last Updated By
Status
3 Design analysis 2 0
.95 Matt
Complete
4 Implementation and refactoring 4
0 4 Paul
Complete

  Update Servlet implementation
3
0
2.8 Matt
Complete
  Update Servlet unit testing
1 0 1 Paul
Complete
2 Setup test environoment
  • Database running
  • Example tables with example data
1.5 0
2.4 Eugene
Complete
5 Write acceptance tests 2 2   Eugene
Impediment
(Can not update server.xml)
1 CVS public repository
1 0 .75
Chris
Complete
     
     
Total   14.5 2
11.9   Points Completed: 21

Update table without primary key

  • Acceptance criteria:
    • warning provided if multiple rows will be updated
    • cancel function provided
    • varchars, ints supported
    • "clean" input accepted
    • exceptions accepted if user input is bad
Priority
Description Time Estimate
Time Remaining
Actual Time
Last Updated By
Status
  Design Analysis
3 0 3 Eugene
Complete
  Implementation and refactoring
3.5 0 3 Eugene
Complete

Providing warning to user if multiple rows are being updated
1.25 0
2 Eugene
Complete
  Write acceptance tests
2 2   Eugene
Impediment
(Can not update server.xml)
  (Refresh) DBManager Unit Testing
1 0 2.5
Paul
Complete
  (Refresh) Servlet Unit Testing
1 0 1.5
Paul
Complete
             
Total   11.75 2 12  

Design just came as extension of previous update story. Only needed to send old values for WHERE clause

Back Burner Stories

Update view of table with primary key

  • Acceptance criteria:
    • varchars, ints supported
    • "clean" input accepted
    • exceptions accepted if user input is bad
  • Issues:
    • Can we find out if there are primary keys?
    • Can we use JDBC MetaData?
    • Oracle vs. MySQL JDBC driver
Priority
Description Time Estimate
Time Remaining
Actual Time
Last Updated By
Status
  Research/spike relationship between tables and views when updating rows 1.5
.5 1 Paul
In Progress

  Create test VIEWs
.5
0 .5 Paul
Complete
  Design Analysis
4
2
2 Paul
In Progress

  Implementation and refactoring 3.5
3.5
     
  Unit Testing
2
2
     
  Write acceptance tests
2
2      
             
Total   13
9.5
3.5    

Notes

There are issues with updating views of multiple tables.
The approach we think will work is to query for the view definition in vendor specific manor, (MySQL has INFORMATION_SCHEMA table, but slightly different for oracle). Allows for a mapping aliases in the view results to the select statement they map to.

E.g.:
Select C, A FROM view1;
View has columns A, B, C, D, where A maps to t1.c1, B to t1.c2, C to t2.c2, D to t2.c1
Note that the order of columns, and number is not exact from the select and view, and the view's columns could be from other views, meaning the mapping has to be semi-recursive.

Overall: View columns in the select are mapped to the real view columns, then to the table columns they come from.

 
 

Update using author provided information (column names, sql, ...)

- Note: "user provided information" will be refined during sprint. Currently considering providing a list of column names.

Priority
Description Time Estimate
Time remaining
Time Spent
Status
  Design Analysis
3.5 0
2.5
Complete

  Implementation and refactoring
3 0
.5
 Complete

  Get parameters from macroinfo
1
0
1
Complete

  Presentation
3 0
3
Complete

  Design images
1 0
1.5
Complete

  Insert values into produced javascript, send to update servlet as 'keys
*Check for columns existing, if not show warning*
2
0
.5
Complete
  Generate SQL Statement
1
0
.5
Complete

  UI Refactoring 2 0
2.7
Complete
  Edit Row Cancel
1 0 1.5
Complete

  Make User supplied columns uneditable (when editing row) - modify javascript logic to add input elements to check both primary keys AND identifying columns
1.5
0
1
Complete
  Unit testing
1.5
0
1.5
Complete
  Write acceptance tests
2 0
.5
Complete
           
Total   22.5
0
16.7
 



Notes


UI refactoring:

  • Sorting columns
  • In cell click for edit

TODO

*make user supplied rows uneditable
*where in callback does the old data replacement go

Update with complex datatype support

Edit

Priority
Description Size (Point) Estimate
Time Estimate
  Design Analysis
2
1
  Implementation, unit testing (TDD) and refactoring
1
1
  Write acceptance tests
1
1
       
Total   4 3

Issues:

  • Updating a view without a primary key 
  • Define author provided information

Charts

  Name Size Creator (Last Modifier) Creation Date Last Mod Date Comment  
Microsoft Excel scrum-charts.xls 13 kb Christopher Daniels Jan 18, 2009 Jan 18, 2009 Initial version of story point burn up and task hours burn down charts for our first scrum of the sprint. Edit | Remove



scrum-charts.xls (application/octet-stream)
Document generated by Confluence on May 21, 2009 10:23